home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / CMPLTPAS / LOOK2.PAS < prev    next >
Pascal/Delphi Source File  |  1988-02-06  |  1KB  |  46 lines

  1. PROGRAM Look2;
  2.  
  3. TYPE
  4.   String30 = String[30];
  5.   IntArray = ARRAY[0..99] OF Integer;
  6.  
  7. VAR
  8.   OK           : Boolean;
  9.   Register     : Word;
  10.   StackMarker  : Pointer;
  11.   Before,After : Word;
  12.   MyArray      : IntArray;
  13.  
  14. {$I WRITEHEX.SRC}
  15. {$I VARDUMP.SRC}
  16.  
  17.  
  18. FUNCTION Dummy(VAR Values   : IntArray;
  19.                    Fudge    : Integer;
  20.                    Level,Clearance : Char;
  21.                    Message  : String30) : Boolean;
  22.  
  23. VAR
  24.   Grade,Cutoff : Char;
  25.  
  26. BEGIN
  27.   INLINE($8B/$C4/$A3/Register);          { Save BP into Register }
  28.   After := Register;
  29.   StackMarker := Ptr(SSeg,Register);     { Make a pointer SS : SP   }
  30.   Writeln('Stack BEFORE result or local variables are modified:');
  31.   VarDump(Output,StackMarker^,Trunc(Before-After));  { Dump stack }
  32.   Dummy := False;                                  { Set function value }
  33.   Grade := 'A';
  34.   Cutoff := 'C';
  35.   Writeln('Stack AFTER result and local variables are modified:');
  36.   VarDump(Output,StackMarker^,Trunc(Before-After));  { Dump stack again }
  37. END;
  38.  
  39.  
  40.  
  41. BEGIN
  42.   INLINE($8B/$C4/$A3/Register);       { Save SP into Register  }
  43.   Before := Register;
  44.   OK := Dummy(MyArray,42,'Q','Z','I was born on a pirate ship.  ');
  45. END.
  46.